package com.cloud.domian;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 库存表
 * @Author: jeecg-boot
 * @Date:   2022-10-14
 * @Version: V1.0
 */
@Data
@TableName("stock")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bu_stock对象", description="库存表")
public class Stock implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.AUTO)
	@NotNull(message = "主键不能为空!", groups = {Update.class})
    @ApiModelProperty(value = "主键")
    private Long id;


    @ApiModelProperty(value = "商品id")
    private Long productId;


    @ApiModelProperty(value = "商品明细id")
    private Long productSpecs;


    @ApiModelProperty(value = "商品数量")
    private Integer productNum;

    @ApiModelProperty(value = "卖出数量")
	private Integer salesNum;


    @ApiModelProperty(value = "是否快递")
    private String hasExpress;


    @ApiModelProperty(value = "是否自提")
    private String hasSelfRetrieval;


    @ApiModelProperty(value = "状态")
    private String state;


    @TableLogic
    @ApiModelProperty(value = "删除标志")
    private String delFlag;

	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;

	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;

	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;

	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;

	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;


	 public interface Add {

        }

     public interface Update {

        }
}
